package overload;

/**
 * @Author Stringzhua
 * @Date 2024/2/28 21:34
 * description:
 * 编写程序，类 Methods 中定义三个重载方法并调用。方法名为 m。
 * 三个方法分别接收一个 int 参数、两个 int 参数、一个字符串参数。分别执行平方运算并输出结果，
 * 相乘并输出结果，输出字符串信息。在主类的 main ()方法中分别用参数区别调用三个方法
 * <p>
 * 02在method类,定义三个重载方法 max()，
 * 第一个方法，返回两个 int 值中的最大值，
 * 第二个方法，返回两个 double 值中的最大值，第三个方法，
 * 返回三个 double 值中的最大值，并分别调用三个方法
 */
public class overloadexercise {
    public static void main(String[] args) {
        Methods methods = new Methods();
        methods.m(100);
        methods.m(10, 20);
        methods.m("Stringzhua");

        //test02
        System.out.println(methods.max(10,24));
        System.out.println(methods.max(10.3,24.5));
        System.out.println(methods.max(10.3,24.5,30));
    }
}

class Methods {
    /*02
     * 方法名 max
     * 形参 (int,int)
     * 返回值类型 int
     * */
    public int max(int n1,int n2) {
        return n1 > n2 ? n1 : n2;
    }
    /*02
     * 方法名 max
     * 形参 (double ,double)
     * 返回值类型 double
     * */
    public double max(double n1,double n2){
        return n1 > n2 ? n1 : n2;
    }
    /*02
     * 方法名 m
     * 形参 (double,double,double)
     * 返回值类型 double
     * */
    public double max(double n1,double n2,int n3){
        double max1=n1 > n2 ? n1 : n2;
        return max1 > n3 ? max1 : n3;
    }
    /*
     * 方法名 m
     * 形参 (int)
     * 返回值类型 void
     * */
    public void m(int n) {
        System.out.println("平方 = " + n);
    }

    /*
     * 方法名 m
     * 形参 (int，int)
     * 返回值类型 void
     * */
    public void m(int n1, int n2) {
        System.out.println("相乘 = " + n1 * n2);
    }

    /*
     * 方法名 m
     * 形参 (String)
     * 返回值类型 void
     * */
    public void m(String str) {
        System.out.println("传入的String = " + str);
    }
}